Kandria Dialogue Format

This document describes the markup syntax used for dialogues in Kandria. The basis for this is Speechless. Please see its documentation first and foremost. Here we will only outline extensions and functions specific to Kandria.

One specific extension is the retrieval of language-specific strings (such as for items). In order to splice this into dialogue you can use the following:

{#@strings-tag}

Where strings-tag is the name of an entry in the strings.lisp file. Eg: {#@fi-nametag} would place Fi's name. Or {#@item:small-health-pack} would place the title of the small health pack item.

The instruction ! can execute a variety of commands when encountered:

Also see documentation on the quest system for information on how quests, tasks, and interactions are meant to be understood.

If you're worried about the use of Lisp code, see the Lisp crash course for a quick introduction and explanation.

Editor integration

Visual Studio Code

We created an extension to offer syntax highlighting in VSC. To use it, simply clone our extension into VSC's extensions folder. On Windows, that's %USERPROFILE%\.vscode\extensions\ and elsewhere that's ~/.vscode/extensions/.

The extension can be found here: https://github.com/shirakumo/markless-vsc

Once it has been cloned in, restart VSC, and it should automatically be activated. You can test this by opening any file with the .mess or .spess extension.

Emacs

The emacs package markless can be installed from melpa. To activate it after installing, simply add this to your config:

(autoload 'markless-mode "markless" "" t nil)
(add-to-list 'auto-mode-alist '("\\.mess\\'" . markless-mode))
(add-to-list 'auto-mode-alist '("\\.spess\\'" . markless-mode))

Alternatively you can find the source here: https://github.com/shirakumo/markless.el